package ejb.com.bbva.cbm.util.voucher;

import cbm.commons.UtilitarioFunciones;

public class DatosVoucherPagoTarjeta extends DatosVoucher {
	private String numeroTarjeta;
	private String nombreTarjeta;
	private String nombreTitular;
	private String divisa;
	private String moneda;
	private String simboloMoneda;
	private String importe;
	private String montoItf;
	private String montoTotal;
	private String montoPagoTarjeta;

	public DatosVoucherPagoTarjeta() {
		super(56, 0);
	}
	
	public String getNumeroTarjeta() {
		return numeroTarjeta;
	}

	public void setNumeroTarjeta(String numeroTarjeta) {
		this.numeroTarjeta = numeroTarjeta;
	}

	public String getNombreTarjeta() {
		return nombreTarjeta;
	}

	public void setNombreTarjeta(String nombreTarjeta) {
		this.nombreTarjeta = nombreTarjeta;
	}

	public String getNombreTitular() {
		return nombreTitular;
	}

	public void setNombreTitular(String nombreTitular) {
		this.nombreTitular = nombreTitular;
	}

	public String getDivisa() {
		return divisa;
	}

	public void setDivisa(String divisa) {
		this.divisa = divisa;
	}

	public String getMoneda() {
		return moneda;
	}

	public void setMoneda(String moneda) {
		this.moneda = moneda;
	}

	public String getImporte() {
		return importe;
	}

	public void setImporte(String importe) {
		this.importe = importe;
	}

	public String getMontoItf() {
		return montoItf;
	}

	public void setMontoItf(String montoItf) {
		this.montoItf = montoItf;
	}

	public String getMontoTotal() {
		return montoTotal;
	}

	public void setMontoTotal(String montoTotal) {
		this.montoTotal = montoTotal;
	}

	@Override
	public String generarCadenaImpresion() {
		
		StringBuilder impresionTexto = new StringBuilder();
		impresionTexto.append(UtilitarioFunciones.formatStringCENTER("--- PAGO A CUENTA ---",43, ' ')).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.formatStringLEFT("FECHA", 6, ' ')).append(": ").
		append(UtilitarioFunciones.formatearFecha(UtilitarioFunciones.obtenerFechaActual(),"dd-MM-yyyy")).
		append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append("TARJETA : ").append(this.numeroTarjeta).append("  ");
		if(this.nombreTarjeta != null){
			impresionTexto.append(this.nombreTarjeta);
		}
		/*impresionTexto.append("  ").append(this.divisa).*/	
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		
		impresionTexto.append("TITULAR : ").
			append(UtilitarioFunciones.formatStringLEFT(this.nombreTitular,45,' ')).
			append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append("CONCEPTO : PAGO A CTA TARJETA").append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		if(this.divisa.equals("EUR")){
			this.simboloMoneda = "EUR";
		}
		impresionTexto.append("Pago Tarj. :").append("  "+this.simboloMoneda).append("  "+UtilitarioFunciones.formatStringRIGHT(UtilitarioFunciones.formatearMontoNumerico(this.montoPagoTarjeta), 15, ' ')).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append("I.T.F.     :").append("  "+this.simboloMoneda).append("  "+UtilitarioFunciones.formatStringRIGHT(UtilitarioFunciones.formatearMontoNumerico(this.montoItf), 15, ' ')).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append("TOTAL      :").append("  "+this.simboloMoneda).append("  "+UtilitarioFunciones.formatStringRIGHT(UtilitarioFunciones.formatearMontoNumerico(this.montoTotal), 15, ' ')).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		
		String glosa = generarGlosaOperacion();
		if(glosa != null && !glosa.trim().equals("")) {
			impresionTexto.append("GLOSA: ").append(glosa).append(UtilitarioFunciones.SALTO_DE_LINEA);
		}
		impresionTexto.append("CLAVE: ").append(generarClaveOperacion()).append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append((UtilitarioFunciones.formatStringCENTER(oficinaNombre, 43, ' ')));
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.SALTO_DE_LINEA);
		impresionTexto.append(UtilitarioFunciones.getFinalPagina());
		return impresionTexto.toString();
	}

	public String getSimboloMoneda() {
		return simboloMoneda;
	}

	public void setSimboloMoneda(String simboloMoneda) {
		this.simboloMoneda = simboloMoneda;
	}

	public String getMontoPagoTarjeta() {
		return montoPagoTarjeta;
	}

	public void setMontoPagoTarjeta(String montoPagoTarjeta) {
		this.montoPagoTarjeta = montoPagoTarjeta;
	}
}
